package cn.tx.security.config;

/**
 * @Package: cn.tx.security.config
 * @Description: 类作用描述
 * @Author Mxb
 * @CreateDate 2020/10/31 16:50
 * @Version 1.0
 */
//@Configuration
//public class SecurityConfig1 extends WebSecurityConfigurerAdapter {
//    @Autowired
//    private LoginService1 loginService;
//
//    /**
//     * 定义用户名密码
//     * @param auth
//     * @throws Exception
//     */
//    @Override
//    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
//        auth.userDetailsService(loginService).passwordEncoder(passwordEncoder());
//    }
//
//    /**
//     * 注入PasswordEncoder 类到spring 容器中
//     * @return
//     */
//    @Bean
//    public PasswordEncoder passwordEncoder() {
//        return new BCryptPasswordEncoder();
//    }
//
//    @Override
//    protected void configure(HttpSecurity http) throws Exception {
//        //自定义登录页
//        http.formLogin()
//                .loginPage("/login.html") //登录页面设置
//                .loginProcessingUrl("/user/login") //设置表单提交访问路径
//                .defaultSuccessUrl("/login/success").permitAll() //登录成功后要跳转的路径
//                .and().authorizeRequests()
//                // 设置哪些路径可以直接访问，不需要认证
//                    .antMatchers("/", "/test/hello", "user/login").permitAll()
//                //当前登录用户，只有具有admins权限才可以访问这个路径
//                //.antMatchers("/test/index").hasAuthority("admins")
//
//                //当前登录用户，具有admins权限或者hahaha 权限中的一个就 可以访问这个路径
//                //.antMatchers("test/index").hasAnyAuthority("admins","hahaha")
//
//                //当前登录用户，只有具有admin角色才可以访问这个路径
//                //.antMatchers("test/index").hasRole("admin")
//
//                //当前登录用户，具有 role 角色或者 admin 角色中的一个就 可以访问这个路径
//                    .antMatchers("test/index").hasAuthority("menu:system")
//                    .antMatchers("test/manager").hasRole("管理员")
//
//                    .anyRequest().authenticated()
//                .and()
//                .csrf().disable(); //关闭csrf防护
//    }
//}
